#include <algorithm>
#include <iostream>
#include <vector>

using namespace std;

int main() {
  int n;
  cin >> n;

  vector<int> nums(n);
  for (int i = 0; i < n; i++) {
    cin >> nums[i];
  }

  vector<pair<int, int>> results;

  // 遍历所有可能的位置
  for (int i = 0; i <= n; i++) {
    // 尝试插入不同的非零数字
    for (int y = 1; y <= 100; y++) {
      vector<int> temp = nums;
      temp.insert(temp.begin() + i, y);

      // 检查是否满足括号序列的加密规则
      bool valid = true;
      int sum = 0;
      for (int j = temp.size() - 1; j >= 0; j--) {
        if (temp[j] == 0) {
          sum++;
        } else {
          if (sum < temp[j]) {
            valid = false;
            break;
          }
          sum -= temp[j];
          sum++;
        }
      }

      if (valid && sum == 0) {
        results.push_back({i, y});
      }
    }
  }

  // 按x升序，y升序排序
  sort(results.begin(), results.end());

  // 输出结果
  for (auto &res : results) {
    cout << res.first << " " << res.second << endl;
  }

  return 0;
}
